package com.hh.userservice.feign;

import com.hh.userservice.entity.Order;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.Date;

/**
 * 调用order的
 */
@FeignClient(value = "order-service") // 服务提供者的应用名称
public interface UserOrderFeign {
    // 需要调用哪一个就写哪一个
    // 方法签名 修饰符 返回值 名称 参数 注解 就是包含了一个方法的所有的属性
    @GetMapping("/doOrder")
    String doOrder();

    @GetMapping("/testUrl/{name}/and/{age}")
    String testUrl(@PathVariable("name") String name, @PathVariable("age") Integer age);

    @GetMapping("/oneParam")
    String oneParam(@RequestParam(required = false) String name);

    @GetMapping("/twoParam")
    String twoParam(@RequestParam(required = false) String name, @RequestParam(required = false) Integer age);

    @PostMapping("/oneObj")
    String oneObj(@RequestBody Order order);

    @PostMapping("/oneObjOneParam")
    String oneObjOneParam(@RequestBody Order order, @RequestParam("name") String name);

    @GetMapping("/testTime")
    String testTime(@RequestParam Date date);
}
